package the.guanzhong.delivery.infrastructure.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.wisteria.framework.web.mvc.entity.SuperEntity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 配送任务类
 */
@Data
@TableName("delivery_task")
public class TaskDO extends SuperEntity implements Serializable {

    private static final long serialVersionUID = 7346108450017290196L;
    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 配送编号
     */
    private Integer deliveryCode;

    /**
     * 订单ID
     */
    private Integer orderId;

    /**
     * 租户ID
     */
    private Integer tenantId;

    /**
     * 下单用户ID
     */
    private String orderUserId;

    /**
     * 下单时间
     */
    private Date orderTime;

    /**
     * 发货类型
     */
    private Integer fromTakeType;

    /**
     * 发货门店ID
     */
    private Integer fromShopId;

    /**
     * 发货门店名称
     */
    private String fromShopName;

    /**
     * 发货联系人
     */
    private String fromLinkman;

    /**
     * 发货联系电话
     */
    private String fromPhone;

    /**
     * 发货地址
     */
    private String fromAddress;

    /**
     * 收货类型
     */
    private Integer toTakeType;

    /**
     * 收货门店ID
     */
    private Integer toShopId;

    /**
     * 收货门店名称
     */
    private String toShopName;

    /**
     * 收货联系人
     */
    private String toLinkman;

    /**
     * 收货联系电话
     */
    private String toPhone;

    /**
     * 收货地址
     */
    private String toAddress;

    /**
     * 取件时间
     */
    private Date takingTime;
    /**
     * 取件人
     */
    private String takingUserId;

    /**
     * 运输时间
     */
    private Date haulageTime;

    /**
     * 运输人
     */
    private String haulageUserId;

    /**
     * 送达时间
     */
    private Date arrivingTime;

    /**
     * 送达人
     */
    private String arrivingUserId;

    /**
     * 1拼车；2包车
     */
    private Integer haulageWay;

    /**
     * 货物信息
     */
    private String goodsInfo;

    /**
     * 配送时间
     */
    private Date deliveryTime;

    /**
     * 配送状态
     */
    private Integer deliveryStatus;

    /**
     * 接单时间
     */
    private Date receivingTime;

    /**
     * 接单人ID
     */
    private String receivingUserId;

}
